package o2o.dao.PO.sys;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import o2o.dao.VO.sys.SysCityAdminVO;
import org.springframework.beans.BeanUtils;

// 商圈
@Setter
@Getter
@Accessors(chain = true)
public class SysCityAdmin {

    private Long id;// ID
    private Long pId;// 上一级id
    private String sysAppKey;//项目标识

    private String city;//所属市
    private String relCity;//所属市(汉字城市)
    private String username;//用户账号
    private Long endTime;//到期时间

    private String auth;//权限

    private String province;//所属省
    private String county;//所属区县
    private String town; // 所属镇
    private String region;//所属区域（商圈）

    private Double plateShareRate;//平台抽取城代的分成比例

    private String shareUsername1;//  代理账号1
    private Double shareRate1;// 代理抽成比例(直系店铺) | 相对平台的第一级代理

    private String shareUsername2;//  代理账号2
    private Double shareRate2;//  代理抽成比例(店铺上级代理的上级代理抽成) | 相对平台的第二级代理

    private String shareUsername3;//  代理账号3
    private Double shareRate3; //  相对店铺第三级 | 相对平台的第三级代理

    private String shareUsername4;//  代理账号4
    private Double shareRate4; //  相对店铺第四级 | 相对平台的第四级代理

    private Integer level; // 代理级别 1 代表镇 最低端 2 代表区县 3 代表市 4代表省
    private Integer currLevel; // v2版本，相对平台的当前级别
    private int grabOrderMode = 0; //   订单模式 0 混合模式 1 仅抢单模式 2 仅调度模式 4 调度优先模式
    private int dispatchOrderMode = 1;      // 派单模式 0 禁用  >0 使用自动派单

    private Integer delFlag;// 是否已删除(0未删除,1已删除)
    private String createUser;// 创建者
    private Long createTime;// 创建日期 141231212423423时间戳毫秒级标识
    private String updateUser;// 最后更新着
//    private Long updateTime;// 最后更新时间

    public SysCityAdmin() {

    }

    public SysCityAdmin(String username, String province, String city, String county, String region, String auth, String createUser, Long createTime) {
        this.username = username;
        this.province = province;
        this.city = city;
        this.county = county;
        this.region = region;
        this.auth = auth;
        this.createUser = createUser;
        this.createTime = createTime;
        this.delFlag = 0;
    }

    public SysCityAdmin(Long pId, String username, String province, String city, String county, String region, String auth, String createUser, Long createTime) {
        this.pId = pId;
        this.username = username;
        this.province = province;
        this.city = city;
        this.county = county;
        this.region = region;
        this.auth = auth;
        this.createUser = createUser;
        this.createTime = createTime;
        this.delFlag = 0;
    }

    public SysCityAdminVO convert2VO() {
        SysCityAdminVO vo = new SysCityAdminVO();
        BeanUtils.copyProperties(this, vo);
        return vo;
    }

}
